package top.tangyh.lamp.care.vo.save;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

import java.util.List;

@Schema(description ="排班计划入参类")
@Data
public class WorkPlanInVO {

    @NotNull(message = "请输入id" )
    private Long id;

    @NotBlank(message = "请输入排班名称")
    @Schema(description = "排班名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String workName;

    @NotBlank(message = "请输入开始时间")
    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "6:00")
    @Pattern(regexp = "^(0[0-9]|1[0-9]|2[0-3]):(00|[0-5][0-9])$", message = "请输入开始时间的正确表达式")
    private String startTime;

    @NotBlank(message = "请输入结束时间")
    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "16:00")
    @Pattern(regexp = "^(0[0-9]|1[0-9]|2[0-3]):(00|[0-5][0-9])$",message = "请输入结束时间的正确表达式")
    private String endTime;

    @NotNull(message = "请输入间隔分钟")
    @Schema(description = "间隔分钟", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer interval;

    @NotNull(message = "请输入排序")
    @Schema(description = "排序", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer sort;

    @NotNull(message = "请输入是否启用")
    @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer enabled;

    @Schema(description = "备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String desc;

    @Schema(description = "关联的角色id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private List<Long> roleIdList;

    @Schema(description = "关联的模块id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private List<String> moduleIdList;

    @Schema(description = "跨天天数,默认为0", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer addDay;
}
